export function requestReminderPermission() {
	uni.showModal({
		title: '开启提醒权限',
		content: '我们将在备忘录到期时发送提醒给您，需要您的授权',
		confirmText: '去授权',
		cancelText: '暂不',
		success: (modalRes) => {
			if (modalRes.confirm) {
				uni.getSetting({
					success: (settinggRes) => {
						if (!settinggRes.authSetting['scope.subscribeMessage']) {
							uni.requestSubscribeMessage({
								tmplIds: [
									'RIZiiMBqpIsRlNfGY0f016ZD9oiHFxzbmv4rGGl_Sxk'
								], // 模板ID
								success: (res) => {
									if (res[
											'RIZiiMBqpIsRlNfGY0f016ZD9oiHFxzbmv4rGGl_Sxk'
										] ===
										'accept') {
										uni.showToast({
											title: '授权成功，将为您发送提醒',
											icon: 'success'
										});
									} else if (res[
											'RIZiiMBqpIsRlNfGY0f016ZD9oiHFxzbmv4rGGl_Sxk'
										] ===
										'reject') {
										uni.showModal({
											title: '授权失败',
											content: '您拒绝了提醒授权，将无法收到备忘录提醒'
										})
									} else if (res[
											'RIZiiMBqpIsRlNfGY0f016ZD9oiHFxzbmv4rGGl_Sxk'
										] ===
										'ban') {
										uni.showToast({
											title: '已禁止提醒授权，请在设置中开启',
											icon: 'none'
										});
									}
								},
								fail: (err) => {
									console.error('授权请求失败', err);
									uni.showToast({
										title: '授权请求失败，请稍后重试',
										icon: 'none'
									});
								}
							})
						} else {
							uni.showToast({
								title: '通知权限已开启',
								icon: 'success'
							})
						}
					},
					fail: (err) => {
						console.error('获取设置信息失败', err)
						uni.showToast({
							title: '获取权限状态失败',
							icon: 'none'
						})
					}
				})
			} else {
				uni.showToast({
					title: ' 授权失败 ',
					icon: 'none'
				})
			}
		},
		fail: (err) => {
			console.error('显示授权提示弹窗失败', err)
		}
	});
}

export function requestLocationPermission() {
	uni.showModal({
		title: '开启获取定位权限',
		content: '我们将获取你的位置，来决定何时向你发送提醒',
		confirmText: '去授权',
		cancelText: '暂不',
		success: (modalRes) => {
			if (modalRes.confirm) {
				uni.getSetting({
					success: (settingRes) => {
						if (!settingRes.authSetting['scope.userLocation']) {
							uni.authorize({
								scope: 'scope.userLocation',
								success: () => {
									uni.showToast({
										title: '定位权限已开启',
										icon: "success"
									})
								},
								fail: () => {
									uni.showModal({
										title: '授权失败',
										content: '您拒绝了定位授权'
									})
								}
							})
						} else {
							uni.showToast({
								title: '定位权限已开启',
								icon: 'success'
							})
						}
					},
					fail: (err) => {
						console.error('获取设置信息失败', err)
						uni.showToast({
							title: '获取权限状态失败',
							icon: 'none'
						})
					}
				})
			} else {
				uni.showToast({
					title: ' 授权失败 ',
					icon: "none"
				})
			}
		},
		fail: (err) => {
			console.error('显示授权提示弹窗失败', err)
		}
	})
}

export function requestBackgroundPermission() {
	uni.showModal({
		title: '开启 后台 获取定位权限',
		content: '当小程序处在后台时， 我们也能决定何时向您发送提醒',
		confirmText: '去授权',
		cancelText: '暂不',
		success: (modalRes) => {
			if (modalRes.confirm) {
				uni.getSetting({
					success: (settingRes) => {
						if (!settingRes.authSetting['scope.userLocationBackground']) {
							uni.authorize({
								scope: 'scope.userLocationBackground',
								success: () => {
									uni.showToast({
										title: '后台定位权限已开启',
										icon: "success"
									})
								},
								fail: (err) => {
									console.log("授权失败原因:", err)
									uni.showModal({
										title: '前往设置手动开启'
									})
								}
							})
						} else {
							uni.showToast({
								title: '后台定位权限已开启',
								icon: 'success'
							})
						}
					},
					fail: (err) => {
						console.error('获取设置信息失败', err)
						uni.showToast({
							title: '获取权限状态失败',
							icon: 'none'
						})
					}
				})
			} else {
				uni.showToast({
					title: ' 授权失败 ',
					icon: "none"
				})
			}
		},
		fail: (err) => {
			console.error('显示授权提示弹窗失败', err)
		}
	})
}